const OSS = require('ali-oss');

const client = new OSS({
  // yourregion填写Bucket所在地域。以华东1（杭州）为例，Region填写为oss-cn-hangzhou。
  region: 'oss-cn-wulanchabu',
  // 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
  accessKeyId: 'LTAI5t9oZARsZ2adunwQTb9C',
  accessKeySecret: 'clC3svU2HQqzSZXVB4Le4Zzeo8szGw',
  bucket: 'bucket-zyj001'
});

async function listObjects() {
  try {
    const result = await client.list({prefix: 'wx-uniapp'});
    console.log("listObjects--------", result);
    return result
  } catch (err) {
    console.error("listObjects--------", err);
  }
}

async function deleteObject(object = 'exampleobject.txt') {
  try {
    // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    let result = await client.delete(object);
    console.log("deleteObject", result);
    return result
  } catch (error) {
    console.error("deleteObject", error);
  }
}

async function putObject(object = 'exampleobject.txt', buffer) {
  try {
    // 填写OSS文件完整路径和本地文件的完整路径。OSS文件完整路径中不能包含Bucket名称。
    // 如果本地文件的完整路径中未指定本地路径，则默认从示例程序所属项目对应本地路径中上传文件。
    const result = await client.put(object, buffer
        // 自定义headers
        //,{headers}
    );
    console.log(result);
    return result
  } catch (e) {
    console.error(e);
  }
}

module.exports = {
  listObjects,
  putObject,
  deleteObject,
};
